package com.gl.glbooks.repository;


import java.util.Date;
import java.util.List;

import javax.persistence.Query;

import com.gl.glbooks.vos.Comentario;
import com.gl.glbooks.vos.Ejemplar;
import com.gl.glbooks.vos.Libro;


public interface ProjectRepository <T>{
	
	T save( T object);
	T find(Class clase, Long id);
	T find(Class clase, String atributo, Object referencia);
	T find(Class clase, String atributo, String parametro);
	List<T> getListCondicional(Class clase,String atributo, Object referencia);
	List<T> getListCondicionalExclude(Class clase,String atributo, Object referencia);
	List<T> findBetweenDates(Class clase, String atributo, Date from, Date to);
	List<T> getList(Class clase);
	List<T> getListBusqueda(Class clase,String atributo, String dato);
	List<T> getListSinBaja(Class clase,String atributo);
	void delete(T object);
	List<Comentario> getListComentariosNovedosos(Class clase, Integer cantidad);
	List<Libro> getListLibrosNovedosos(Class clase, Integer cantidad);
}